var gulp = require('gulp');

var minifycss = require('gulp-minify-css'), // CSS压缩
    uglify = require('gulp-uglify'),        // js压缩
    concat = require('gulp-concat'),        // 合并文件
    rename = require('gulp-rename'),        // 重命名
    jshint = require('gulp-jshint'),        // 代码检查
    jshint = require('gulp-util'),        	// 工具
    clean = require('gulp-clean');          //清空文件夹

var webresource = './webresource/';
var build = webresource + 'build/'

gulp.task('minify-views', function () {
   gulp.src(webresource + '/views/*.js')
      .pipe(uglify())
      .pipe(gulp.dest(build + 'views'))
});

gulp.task('concat-res-js', function () {
   return gulp.src(webresource + 'res/js/*.js')
      // .pipe(jshint())
      // .pipe(jshint.reporter('default'))
      .pipe(uglify())
      .pipe(concat('app.js'))
      .pipe(gulp.dest(build + 'res/js'));
});

// 合并、压缩、重命名css
gulp.task('concat-res-css',[], function() {
    // 注意这里通过数组的方式写入两个地址,仔细看第一个地址是css目录下的全部css文件,第二个地址是css目录下的areaMap.css文件,但是它前面加了!,这个和.gitignore的写法类似,就是排除掉这个文件.
  gulp.src([webresource + 'res/css/*.css'])
    // .pipe(concat('all.css'))
    .pipe(gulp.dest(build + 'res/css'))
    .pipe(rename({ suffix: '.min' }))
    .pipe(minifycss())
    .pipe(gulp.dest(build + 'res/css'));
});

// 清空图片、样式、js
gulp.task('clean', function() {
  return gulp.src([build + 'css/all.css', build + 'css/all.min.css'], {read: false})
    .pipe(clean({force: true}));
});

gulp.task('develop',function(){
  gulp.run('minify-views','concat-res-js', 'concat-res-css');

  // gulp.watch('./javis/static/less/*.less', ['build-less']);
});


gulp.task('default',['clean'], function() {
  gulp.run('develop');
});
